package com.qumitech.visualnovel.service.match;

import com.alibaba.fastjson.JSONObject;
import com.qumitech.visualnovel.model.common.BaseRsp;
import com.qumitech.visualnovel.model.common.BaseResponse;
import com.qumitech.visualnovel.pubdef.dto.match.MatchCfgNewDTO;
import com.qumitech.visualnovel.pubdef.dto.match.MatchCfgUpdateDTO;
import com.qumitech.visualnovel.pubdef.dto.match.MatchTerminateDTO;
import com.qumitech.visualnovel.pubdef.dto.match.UserMatchResultBatchNewDTO;

import java.util.Map;

public interface MatchService {
    BaseRsp listMatchCfg(Map<String, Object> reqMap);
    BaseRsp addMatchCfg(MatchCfgNewDTO newDTO);
    BaseRsp updateMatchCfg(String matchId, MatchCfgUpdateDTO updateDTO);
    BaseRsp terminateMatch(String matchId, MatchTerminateDTO terminateDTO);
    BaseRsp addMatchResult(String matchId, UserMatchResultBatchNewDTO newDTO);
    BaseRsp confirmMatchResult(String matchId);
    BaseRsp listUserMatchResult(String matchId);
    BaseResponse listMatchTemplate(Long templateId, String gameId, String matchName, String templateName);
    BaseResponse updateMatchTemplate(JSONObject templateInfo);
    BaseResponse createMatchTemplate(JSONObject templateInfo);
    BaseResponse deleteMatchTemplate(Long templateId);
    BaseResponse listMatchTemplateOptions();
    BaseRsp listMatchValue(String gameId);
}
